Package-level declarations

Types

Link copied to clipboard

Shared preparation, bounded workers, and only actually used font placements. Cleared on reload.

Link copied to clipboard
data class ProgressAtlas(val pages: List<ProgressAtlasPage>, val frames: List<ProgressGlyph?>, val steps: Int, val height: Int, val width: Int, val sourceHeight: Int)
Link copied to clipboard
data class ProgressAtlasPage(val image: BufferedImage, val rows: List<String>)
Link copied to clipboard
data class ProgressCenter(val x: Double = 50.0, val y: Double = 50.0)

Image-local percentages, not screen coordinates. 0° points up; 90° points right.

Link copied to clipboard
data class ProgressFill(val direction: String = "left-to-right", val steps: String = "auto", val startAngle: Double = 0.0, val center: ProgressCenter = ProgressCenter())
Link copied to clipboard
data class ProgressGlyph(val char: Char, val advance: Int)

The canvas stays fixed, but bitmap-font advance follows the rightmost nontransparent pixel.

Link copied to clipboard
Link copied to clipboard
class ProgressMotion(transition: ProgressTransition = ProgressTransition(), trail: ProgressTrail? = null)

Per display instance. No player, resource, or script work is performed by animation.

Link copied to clipboard
Link copied to clipboard
data class ProgressSample(val current: Double, val total: Double)

Invalid evaluations are not a zero-valued sample.

Link copied to clipboard

Live markers never reach the client. Final composition replaces them with cached, balanced glyphs.

Link copied to clipboard
data class ProgressTrail(val image: String = "", val delay: Int = 8, val duration: Int = 12, val easing: String = "ease-out")
Link copied to clipboard
data class ProgressTransition(val duration: Int = 0, val delay: Int = 0, val easing: String = "linear")
Link copied to clipboard

A pure prepared recipe: all bitmap layers rewind their real advance to the same origin.